package com.cloudpivot.receivales.contract.domain.crmcontract;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

@Data
/**
 * 为空不 序列化
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class CrmContract {

    /**
     * 合同开始日期
     */
    private String new_dstartdate;
    /**
     * 合同结束日期
     */
    private String new_denddate;
    /**
     * 合同签订日期
     */
    private String new_dsigndate;
    /**
     * 质保金额度
     */
    private Double new_dblmassassure;
    /**
     * 合同描述
     */
    private String new_desc;
    /**
     * 合同编码
     */
    private String new_name;
    /**
     * 合同名称
     */
    private String new_contract_name;
    /**
     * 用章单位
     */
    private String new_cunit;
    /**
     * 部门
     */
    private String new_cdepname;
    /**
     * 汇率
     */
    private String new_dblexchange;
    /**
     * 币种
     */
    private String new_exchname;
    /**
     * 客户名称
     */
    private String new_ccusname;
    /**
     * 业务员
     */
    private String new_cpersonname;
    /**
     * 保修期
     */
    private String new_repair;
    /**
     * 制单人
     */
    private String new_cmaker;
    /**
     * 生效人
     */
    private String new_csign;
    /**
     * 销售合同类型
     */
    private String new_cdefine12;
    /**
     * 收款方式
     */
    private String new_chdefine2;
    /**
     * 存放位置
     */
    private String new_cdefine13;
    /**
     * 是否有中标通知书
     */
    private String new_chdefine1;
    /**
     * 最终客户
     */
    private String new_cendcustomer;

    /**
     * 绑定客户
     */
    @JsonProperty("new_new_crmcustomerid@odata.bind")
    private String new_new_crmcustomeridodatabind;

    /**
     * 公司.传入null
     */
    @JsonProperty("new_company@odata.bind")
    private String new_company;
    /**
     * 账套号
     */
    private String new_ccid;
    /**
     * 合同总金额
     */
    private Double new_total;
    /**
     * 营销合同分类
     */
    private String new_sale_contract_type;
    /**
     * 合同合规分类
     */
    private String new_sale_compliance_type;
    /**
     * 合同合规状态
     */
    private String new_compliance_state;
    /**
     * 合同状态
     */
    private String new_contractstate;

    /**
     * 合同版本
     */
    private String new_system_version;
    /**
     * 存放groupJson
     */
    private String new_group_json;
    /**
     * 存放offerJson
     */
    private String new_offer_json;


    /**
     * 合同明细
     */
    @JsonProperty(value = "new_new_main_contract_new_sub_contract_contract")
    private List<CrmContractItem> contractItems;

    /**
     * 合同条款明细
     *
     * @return
     */
    @JsonProperty(value = "new_new_main_contract_new_contract_clause_contract")
    private List<CrmContractClause> contractClauses;

    @JsonIgnore
    public boolean isEmpty() {
        if(this.new_name==null||this.new_name.equals("")){
            return true;
        }else{
            return false;
        }
    }
}
